Hibernate 是一个强大的对象关系映射（ORM）框架，用于将 Java 对象映射到数据库表，简化数据库操作。以下是一个简单的 Hibernate 代码示例，展示了如何使用 Hibernate 进行基本的数据库操作。

---

### **1. 环境准备**
确保你已经添加了 Hibernate 的依赖。例如，使用 Maven 时，`pom.xml` 中需要添加以下依赖：

```xml
<dependencies>
    <!-- Hibernate 核心依赖 -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>6.4.4.Final</version>
    </dependency>
    <!-- MySQL 驱动依赖 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.33</version>
    </dependency>
</dependencies>
```

---

### **2. 配置 Hibernate**
Hibernate 需要一个配置文件（`hibernate.cfg.xml`）来指定数据库连接信息和映射文件。

#### **2.1 `hibernate.cfg.xml` 配置文件**
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- 数据库连接配置 -->
        <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/testdb</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">password</property>

        <!-- Hibernate 方言 -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>

        <!-- 自动创建表 -->
        <property name="hibernate.hbm2ddl.auto">update</property>

        <!-- 显示 SQL 语句 -->
        <property name="hibernate.show_sql">true</property>

        <!-- 映射实体类 -->
        <mapping class="com.example.Student"/>
    </session-factory>
</hibernate-configuration>
```

---

### **3. 定义实体类**
以下代码展示了如何定义一个实体类，并使用注解将其映射到数据库表。

```java
import jakarta.persistence.*;

@Entity
@Table(name = "students")
public class Student {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(name = "name")
    private String name;

    @Column(name = "age")
    private int age;

    // 默认构造函数
    public Student() {}

    // 带参构造函数
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getter 和 Setter 方法
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
```

---

### **4. Hibernate 操作示例**
以下代码展示了如何使用 Hibernate 进行数据库操作，包括插入、查询、更新和删除。

```java
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateExample {
    public static void main(String[] args) {
        // 加载 Hibernate 配置
        SessionFactory sessionFactory = new Configuration()
                .configure("hibernate.cfg.xml")
                .buildSessionFactory();

        // 创建 Session
        Session session = sessionFactory.openSession();

        try {
            // 插入数据
            session.beginTransaction();
            Student student1 = new Student("Alice", 20);
            Student student2 = new Student("Bob", 22);
            session.save(student1);
            session.save(student2);
            session.getTransaction().commit();

            // 查询数据
            session.beginTransaction();
            Student retrievedStudent = session.get(Student.class, student1.getId());
            System.out.println("Retrieved Student: " + retrievedStudent);
            session.getTransaction().commit();

            // 更新数据
            session.beginTransaction();
            retrievedStudent.setAge(21);
            session.update(retrievedStudent);
            session.getTransaction().commit();

            // 删除数据
            session.beginTransaction();
            session.delete(retrievedStudent);
            session.getTransaction().commit();
        } finally {
            session.close();
            sessionFactory.close();
        }
    }
}
```

---

### **5. 运行步骤**
1. **创建数据库**  
   在 MySQL 中创建一个名为 `testdb` 的数据库。

2. **运行代码**  
   运行 `HibernateExample` 类，Hibernate 会自动创建 `students` 表并执行插入、查询、更新和删除操作。

3. **输出结果**  
   运行代码后，输出如下：
   ```
   Retrieved Student: Student{id=1, name='Alice', age=20}
   ```

---

### **6. 总结**
以上代码展示了如何使用 Hibernate 进行基本的数据库操作。Hibernate 提供了强大的 ORM 功能，可以简化数据库操作并提高开发效率。你可以根据需要扩展代码，例如：
- 使用复杂查询（HQL 或 Criteria API）。
- 实现多表关联（一对一、一对多、多对多）。
- 配置二级缓存或连接池。

Hibernate 是 Java 开发中常用的 ORM 框架，适用于各种数据库操作场景。